package org.aiforum.backend.service;

import java.util.List;

import org.aiforum.backend.common.LoginRequest;
import org.aiforum.backend.common.QueryPreperty;
import org.aiforum.backend.common.Response;
import org.aiforum.domain.Admin;

/**
 * 管理员业务接口
 * @author Administrator
 *
 */
public interface AdminService {
    /**
     * 保存管理员
     * @param admin
     * @return
     */
    Response insert(Admin admin,int[] authIds);
	/**
	 * 更新管理员
	 * @param admin
	 * @return
	 */
    Response update(Admin admin ,int[] authIds);
	/**
	 * 根据ID查找管理员
	 * @param adminId
	 * @return
	 */
	Admin find(int adminId);
	/**
	 * 根据ID删除管理员
	 * @param adminId
	 * @return
	 */
	Response delete(int adminId);
	/**
	 * 根据属性查找管理员
	 * @param queryPreperty
	 * @return
	 */
	List<Admin> queryByPreperty(QueryPreperty queryPreperty);
	/**
	 * 检查管理员账号，邮箱是否存在
	 * @param queryPreperty
	 * @return
	 */
	Response checkExists(QueryPreperty queryPreperty);
	/**
	 * 根据管理员ID查询其权限
	 * @param adminId
	 * @return
	 */
	List<Integer>  auths(Integer adminId);
	
	/**
	 * 登录
	 * @param loginRequest
	 * @return
	 */
	Response login(LoginRequest loginRequest);
	
	/**
	 * 退出用户
	 * @param token
	 */
	void logout(String token);
	
	/**
	 * 超级管理员
	 */
	void initSuperAdmin();
}
